#region

using Gurock.SmartInspect;
using Microsoft.Practices.Unity;
using Microsoft.Practices.Unity.InterceptionExtension;

#endregion

namespace SmartInspect.Extensions.Unity
{
    public class SiWatchAttribute : HandlerAttribute
    {
        public SiWatchAttribute()
        {
            Order = 3;
        }

        private string ParameterName { get; set; }
        private bool IncludeHashCode { get; set; }
        private Level Level { get; set; }

        public override ICallHandler CreateHandler(IUnityContainer container)
        {
            return new SiWatchHandler
            {
                ParameterName = ParameterName,
                Level = Level,
                Order = Order,
                IncludeHashCode = IncludeHashCode
            };
        }
    }
}